home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / perfTuning / gldstats < prev    next >
Text File  |  1994-08-01  |  1KB  |  82 lines

  1. #!/bin/sh
  2.  
  3. awk '
  4. BEGIN {
  5.     FS = "(";
  6.     cnt_sm_lines = 0;
  7.     cnt_med_lines = 0;
  8.     cnt_lg_lines = 0;
  9.     cnt4vp = 0;
  10.     cnt3vp = 0;
  11.     cntNvp = 0;
  12.     cntmesh = 0;
  13.     cntdegenp = 0;
  14.     inpoly = 0;
  15.     inmesh = 0;
  16.     inline = 0;
  17.     vertc = 0;
  18. }
  19. {
  20.     if  (index($0, "(") == 0) {
  21.         next;
  22.     }
  23.  
  24.     cmd = $1;
  25.  
  26.     if (cmd == "bgnpolygon") {
  27.         vertc = 0;
  28.         inpoly = 1;
  29.     } else if (cmd == "bgntmesh") {
  30.         vertc = 0;
  31.         inmesh = 1;
  32.     } else if (cmd == "bgnline") {
  33.         vertc = 0;
  34.         inline = 1;
  35.     } else if (cmd == "endpolygon") {
  36.         inpoly = 0;
  37.         if (vertc == 3) {
  38.             cnt3vp += 1;
  39.         }
  40.         else if (vertc == 4) {
  41.             cnt4vp += 1;
  42.         }
  43.         else if (vertc > 4) {
  44.             cntNvp += 1;
  45.         } else {
  46.             cntdegenp += 1;
  47.         }
  48.     } else if (cmd == "endtmesh") {
  49.         inmesh = 0;
  50.         if (vertc > 2) {
  51.             cntmesh += vertc - 2;
  52.         } else {
  53.             cntdegenp += 1;
  54.         }
  55.     } else if (cmd == "endline") {
  56.         inline = 0;
  57.         if (vertc <= 10) {
  58.             cnt_sm_lines += 1;
  59.         }
  60.         else if (vertc <= 15) {
  61.             cnt_med_lines += 1;
  62.         }
  63.                 else {
  64.                         cnt_lg_lines += 1;
  65.                 }
  66.     } else if  ((inpoly || inmesh || inline) && (cmd == "v3f")) {
  67.         vertc += 1;
  68.     }
  69. }
  70. END {
  71.     printf "\tMesh Tris: %d\n", cntmesh;
  72.     printf "\tPolygon counts:\n";
  73.     printf "\ttriangles: %d\n", cnt3vp;
  74.     printf "\tquads:     %d\n", cnt4vp;
  75.     printf "\t5+ verts:  %d\n", cntNvp;
  76.     printf "degenerates (<2 verts):  %d\n", cntdegenp;
  77.     printf "\tlines<10:  %d\n", cnt_sm_lines;
  78.     printf "\tlines<15:  %d\n", cnt_med_lines;
  79.     printf "\tlines>15:  %d\n", cnt_lg_lines;
  80. }
  81. ' $1
  82.